package com.tianyi.dao.entity.orders;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * orders
 *
 * @author oh_grd
 */
public class OrdersExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OrdersExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("order_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("order_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(Long value) {
            addCriterion("order_number =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(Long value) {
            addCriterion("order_number <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(Long value) {
            addCriterion("order_number >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(Long value) {
            addCriterion("order_number >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(Long value) {
            addCriterion("order_number <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(Long value) {
            addCriterion("order_number <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<Long> values) {
            addCriterion("order_number in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<Long> values) {
            addCriterion("order_number not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(Long value1, Long value2) {
            addCriterion("order_number between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(Long value1, Long value2) {
            addCriterion("order_number not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andLendPersonIsNull() {
            addCriterion("lend_person is null");
            return (Criteria) this;
        }

        public Criteria andLendPersonIsNotNull() {
            addCriterion("lend_person is not null");
            return (Criteria) this;
        }

        public Criteria andLendPersonEqualTo(String value) {
            addCriterion("lend_person =", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonNotEqualTo(String value) {
            addCriterion("lend_person <>", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonGreaterThan(String value) {
            addCriterion("lend_person >", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonGreaterThanOrEqualTo(String value) {
            addCriterion("lend_person >=", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonLessThan(String value) {
            addCriterion("lend_person <", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonLessThanOrEqualTo(String value) {
            addCriterion("lend_person <=", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonLike(String value) {
            addCriterion("lend_person like", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonNotLike(String value) {
            addCriterion("lend_person not like", value, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonIn(List<String> values) {
            addCriterion("lend_person in", values, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonNotIn(List<String> values) {
            addCriterion("lend_person not in", values, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonBetween(String value1, String value2) {
            addCriterion("lend_person between", value1, value2, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andLendPersonNotBetween(String value1, String value2) {
            addCriterion("lend_person not between", value1, value2, "lendPerson");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeIsNull() {
            addCriterion("photo_theme is null");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeIsNotNull() {
            addCriterion("photo_theme is not null");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeEqualTo(String value) {
            addCriterion("photo_theme =", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeNotEqualTo(String value) {
            addCriterion("photo_theme <>", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeGreaterThan(String value) {
            addCriterion("photo_theme >", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeGreaterThanOrEqualTo(String value) {
            addCriterion("photo_theme >=", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeLessThan(String value) {
            addCriterion("photo_theme <", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeLessThanOrEqualTo(String value) {
            addCriterion("photo_theme <=", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeLike(String value) {
            addCriterion("photo_theme like", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeNotLike(String value) {
            addCriterion("photo_theme not like", value, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeIn(List<String> values) {
            addCriterion("photo_theme in", values, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeNotIn(List<String> values) {
            addCriterion("photo_theme not in", values, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeBetween(String value1, String value2) {
            addCriterion("photo_theme between", value1, value2, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andPhotoThemeNotBetween(String value1, String value2) {
            addCriterion("photo_theme not between", value1, value2, "photoTheme");
            return (Criteria) this;
        }

        public Criteria andSendAddressIsNull() {
            addCriterion("send_address is null");
            return (Criteria) this;
        }

        public Criteria andSendAddressIsNotNull() {
            addCriterion("send_address is not null");
            return (Criteria) this;
        }

        public Criteria andSendAddressEqualTo(String value) {
            addCriterion("send_address =", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressNotEqualTo(String value) {
            addCriterion("send_address <>", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressGreaterThan(String value) {
            addCriterion("send_address >", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressGreaterThanOrEqualTo(String value) {
            addCriterion("send_address >=", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressLessThan(String value) {
            addCriterion("send_address <", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressLessThanOrEqualTo(String value) {
            addCriterion("send_address <=", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressLike(String value) {
            addCriterion("send_address like", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressNotLike(String value) {
            addCriterion("send_address not like", value, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressIn(List<String> values) {
            addCriterion("send_address in", values, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressNotIn(List<String> values) {
            addCriterion("send_address not in", values, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressBetween(String value1, String value2) {
            addCriterion("send_address between", value1, value2, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendAddressNotBetween(String value1, String value2) {
            addCriterion("send_address not between", value1, value2, "sendAddress");
            return (Criteria) this;
        }

        public Criteria andSendPersonIsNull() {
            addCriterion("send_person is null");
            return (Criteria) this;
        }

        public Criteria andSendPersonIsNotNull() {
            addCriterion("send_person is not null");
            return (Criteria) this;
        }

        public Criteria andSendPersonEqualTo(String value) {
            addCriterion("send_person =", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonNotEqualTo(String value) {
            addCriterion("send_person <>", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonGreaterThan(String value) {
            addCriterion("send_person >", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonGreaterThanOrEqualTo(String value) {
            addCriterion("send_person >=", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonLessThan(String value) {
            addCriterion("send_person <", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonLessThanOrEqualTo(String value) {
            addCriterion("send_person <=", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonLike(String value) {
            addCriterion("send_person like", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonNotLike(String value) {
            addCriterion("send_person not like", value, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonIn(List<String> values) {
            addCriterion("send_person in", values, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonNotIn(List<String> values) {
            addCriterion("send_person not in", values, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonBetween(String value1, String value2) {
            addCriterion("send_person between", value1, value2, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andSendPersonNotBetween(String value1, String value2) {
            addCriterion("send_person not between", value1, value2, "sendPerson");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressIsNull() {
            addCriterion("receive_address is null");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressIsNotNull() {
            addCriterion("receive_address is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressEqualTo(String value) {
            addCriterion("receive_address =", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressNotEqualTo(String value) {
            addCriterion("receive_address <>", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressGreaterThan(String value) {
            addCriterion("receive_address >", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressGreaterThanOrEqualTo(String value) {
            addCriterion("receive_address >=", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressLessThan(String value) {
            addCriterion("receive_address <", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressLessThanOrEqualTo(String value) {
            addCriterion("receive_address <=", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressLike(String value) {
            addCriterion("receive_address like", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressNotLike(String value) {
            addCriterion("receive_address not like", value, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressIn(List<String> values) {
            addCriterion("receive_address in", values, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressNotIn(List<String> values) {
            addCriterion("receive_address not in", values, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressBetween(String value1, String value2) {
            addCriterion("receive_address between", value1, value2, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceiveAddressNotBetween(String value1, String value2) {
            addCriterion("receive_address not between", value1, value2, "receiveAddress");
            return (Criteria) this;
        }

        public Criteria andReceivePersonIsNull() {
            addCriterion("receive_person is null");
            return (Criteria) this;
        }

        public Criteria andReceivePersonIsNotNull() {
            addCriterion("receive_person is not null");
            return (Criteria) this;
        }

        public Criteria andReceivePersonEqualTo(String value) {
            addCriterion("receive_person =", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonNotEqualTo(String value) {
            addCriterion("receive_person <>", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonGreaterThan(String value) {
            addCriterion("receive_person >", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonGreaterThanOrEqualTo(String value) {
            addCriterion("receive_person >=", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonLessThan(String value) {
            addCriterion("receive_person <", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonLessThanOrEqualTo(String value) {
            addCriterion("receive_person <=", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonLike(String value) {
            addCriterion("receive_person like", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonNotLike(String value) {
            addCriterion("receive_person not like", value, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonIn(List<String> values) {
            addCriterion("receive_person in", values, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonNotIn(List<String> values) {
            addCriterion("receive_person not in", values, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonBetween(String value1, String value2) {
            addCriterion("receive_person between", value1, value2, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePersonNotBetween(String value1, String value2) {
            addCriterion("receive_person not between", value1, value2, "receivePerson");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberIsNull() {
            addCriterion("receive_phoneNumber is null");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberIsNotNull() {
            addCriterion("receive_phoneNumber is not null");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberEqualTo(Long value) {
            addCriterion("receive_phoneNumber =", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberNotEqualTo(Long value) {
            addCriterion("receive_phoneNumber <>", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberGreaterThan(Long value) {
            addCriterion("receive_phoneNumber >", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberGreaterThanOrEqualTo(Long value) {
            addCriterion("receive_phoneNumber >=", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberLessThan(Long value) {
            addCriterion("receive_phoneNumber <", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberLessThanOrEqualTo(Long value) {
            addCriterion("receive_phoneNumber <=", value, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberIn(List<Long> values) {
            addCriterion("receive_phoneNumber in", values, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberNotIn(List<Long> values) {
            addCriterion("receive_phoneNumber not in", values, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberBetween(Long value1, Long value2) {
            addCriterion("receive_phoneNumber between", value1, value2, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andReceivePhonenumberNotBetween(Long value1, Long value2) {
            addCriterion("receive_phoneNumber not between", value1, value2, "receivePhonenumber");
            return (Criteria) this;
        }

        public Criteria andSendMethodIsNull() {
            addCriterion("send_method is null");
            return (Criteria) this;
        }

        public Criteria andSendMethodIsNotNull() {
            addCriterion("send_method is not null");
            return (Criteria) this;
        }

        public Criteria andSendMethodEqualTo(String value) {
            addCriterion("send_method =", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodNotEqualTo(String value) {
            addCriterion("send_method <>", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodGreaterThan(String value) {
            addCriterion("send_method >", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodGreaterThanOrEqualTo(String value) {
            addCriterion("send_method >=", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodLessThan(String value) {
            addCriterion("send_method <", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodLessThanOrEqualTo(String value) {
            addCriterion("send_method <=", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodLike(String value) {
            addCriterion("send_method like", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodNotLike(String value) {
            addCriterion("send_method not like", value, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodIn(List<String> values) {
            addCriterion("send_method in", values, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodNotIn(List<String> values) {
            addCriterion("send_method not in", values, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodBetween(String value1, String value2) {
            addCriterion("send_method between", value1, value2, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendMethodNotBetween(String value1, String value2) {
            addCriterion("send_method not between", value1, value2, "sendMethod");
            return (Criteria) this;
        }

        public Criteria andSendPaymentIsNull() {
            addCriterion("send_payment is null");
            return (Criteria) this;
        }

        public Criteria andSendPaymentIsNotNull() {
            addCriterion("send_payment is not null");
            return (Criteria) this;
        }

        public Criteria andSendPaymentEqualTo(String value) {
            addCriterion("send_payment =", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentNotEqualTo(String value) {
            addCriterion("send_payment <>", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentGreaterThan(String value) {
            addCriterion("send_payment >", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentGreaterThanOrEqualTo(String value) {
            addCriterion("send_payment >=", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentLessThan(String value) {
            addCriterion("send_payment <", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentLessThanOrEqualTo(String value) {
            addCriterion("send_payment <=", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentLike(String value) {
            addCriterion("send_payment like", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentNotLike(String value) {
            addCriterion("send_payment not like", value, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentIn(List<String> values) {
            addCriterion("send_payment in", values, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentNotIn(List<String> values) {
            addCriterion("send_payment not in", values, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentBetween(String value1, String value2) {
            addCriterion("send_payment between", value1, value2, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andSendPaymentNotBetween(String value1, String value2) {
            addCriterion("send_payment not between", value1, value2, "sendPayment");
            return (Criteria) this;
        }

        public Criteria andArriveTimeIsNull() {
            addCriterion("arrive_time is null");
            return (Criteria) this;
        }

        public Criteria andArriveTimeIsNotNull() {
            addCriterion("arrive_time is not null");
            return (Criteria) this;
        }

        public Criteria andArriveTimeEqualTo(Date value) {
            addCriterion("arrive_time =", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeNotEqualTo(Date value) {
            addCriterion("arrive_time <>", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeGreaterThan(Date value) {
            addCriterion("arrive_time >", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("arrive_time >=", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeLessThan(Date value) {
            addCriterion("arrive_time <", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeLessThanOrEqualTo(Date value) {
            addCriterion("arrive_time <=", value, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeIn(List<Date> values) {
            addCriterion("arrive_time in", values, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeNotIn(List<Date> values) {
            addCriterion("arrive_time not in", values, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeBetween(Date value1, Date value2) {
            addCriterion("arrive_time between", value1, value2, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andArriveTimeNotBetween(Date value1, Date value2) {
            addCriterion("arrive_time not between", value1, value2, "arriveTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeIsNull() {
            addCriterion("photo_shoot_time is null");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeIsNotNull() {
            addCriterion("photo_shoot_time is not null");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeEqualTo(Date value) {
            addCriterion("photo_shoot_time =", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeNotEqualTo(Date value) {
            addCriterion("photo_shoot_time <>", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeGreaterThan(Date value) {
            addCriterion("photo_shoot_time >", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("photo_shoot_time >=", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeLessThan(Date value) {
            addCriterion("photo_shoot_time <", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeLessThanOrEqualTo(Date value) {
            addCriterion("photo_shoot_time <=", value, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeIn(List<Date> values) {
            addCriterion("photo_shoot_time in", values, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeNotIn(List<Date> values) {
            addCriterion("photo_shoot_time not in", values, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeBetween(Date value1, Date value2) {
            addCriterion("photo_shoot_time between", value1, value2, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andPhotoShootTimeNotBetween(Date value1, Date value2) {
            addCriterion("photo_shoot_time not between", value1, value2, "photoShootTime");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraIsNull() {
            addCriterion("lend_time_dura is null");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraIsNotNull() {
            addCriterion("lend_time_dura is not null");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraEqualTo(String value) {
            addCriterion("lend_time_dura =", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraNotEqualTo(String value) {
            addCriterion("lend_time_dura <>", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraGreaterThan(String value) {
            addCriterion("lend_time_dura >", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraGreaterThanOrEqualTo(String value) {
            addCriterion("lend_time_dura >=", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraLessThan(String value) {
            addCriterion("lend_time_dura <", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraLessThanOrEqualTo(String value) {
            addCriterion("lend_time_dura <=", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraLike(String value) {
            addCriterion("lend_time_dura like", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraNotLike(String value) {
            addCriterion("lend_time_dura not like", value, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraIn(List<String> values) {
            addCriterion("lend_time_dura in", values, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraNotIn(List<String> values) {
            addCriterion("lend_time_dura not in", values, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraBetween(String value1, String value2) {
            addCriterion("lend_time_dura between", value1, value2, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andLendTimeDuraNotBetween(String value1, String value2) {
            addCriterion("lend_time_dura not between", value1, value2, "lendTimeDura");
            return (Criteria) this;
        }

        public Criteria andReturnTimeIsNull() {
            addCriterion("\"return _time\" is null");
            return (Criteria) this;
        }

        public Criteria andReturnTimeIsNotNull() {
            addCriterion("\"return _time\" is not null");
            return (Criteria) this;
        }

        public Criteria andReturnTimeEqualTo(Date value) {
            addCriterion("\"return _time\" =", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeNotEqualTo(Date value) {
            addCriterion("\"return _time\" <>", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeGreaterThan(Date value) {
            addCriterion("\"return _time\" >", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("\"return _time\" >=", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeLessThan(Date value) {
            addCriterion("\"return _time\" <", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeLessThanOrEqualTo(Date value) {
            addCriterion("\"return _time\" <=", value, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeIn(List<Date> values) {
            addCriterion("\"return _time\" in", values, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeNotIn(List<Date> values) {
            addCriterion("\"return _time\" not in", values, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeBetween(Date value1, Date value2) {
            addCriterion("\"return _time\" between", value1, value2, "returnTime");
            return (Criteria) this;
        }

        public Criteria andReturnTimeNotBetween(Date value1, Date value2) {
            addCriterion("\"return _time\" not between", value1, value2, "returnTime");
            return (Criteria) this;
        }

        public Criteria andLendStatusIsNull() {
            addCriterion("lend_status is null");
            return (Criteria) this;
        }

        public Criteria andLendStatusIsNotNull() {
            addCriterion("lend_status is not null");
            return (Criteria) this;
        }

        public Criteria andLendStatusEqualTo(String value) {
            addCriterion("lend_status =", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusNotEqualTo(String value) {
            addCriterion("lend_status <>", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusGreaterThan(String value) {
            addCriterion("lend_status >", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusGreaterThanOrEqualTo(String value) {
            addCriterion("lend_status >=", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusLessThan(String value) {
            addCriterion("lend_status <", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusLessThanOrEqualTo(String value) {
            addCriterion("lend_status <=", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusLike(String value) {
            addCriterion("lend_status like", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusNotLike(String value) {
            addCriterion("lend_status not like", value, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusIn(List<String> values) {
            addCriterion("lend_status in", values, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusNotIn(List<String> values) {
            addCriterion("lend_status not in", values, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusBetween(String value1, String value2) {
            addCriterion("lend_status between", value1, value2, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andLendStatusNotBetween(String value1, String value2) {
            addCriterion("lend_status not between", value1, value2, "lendStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusIsNull() {
            addCriterion("order_status is null");
            return (Criteria) this;
        }

        public Criteria andOrderStatusIsNotNull() {
            addCriterion("order_status is not null");
            return (Criteria) this;
        }

        public Criteria andOrderStatusEqualTo(String value) {
            addCriterion("order_status =", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusNotEqualTo(String value) {
            addCriterion("order_status <>", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusGreaterThan(String value) {
            addCriterion("order_status >", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusGreaterThanOrEqualTo(String value) {
            addCriterion("order_status >=", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusLessThan(String value) {
            addCriterion("order_status <", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusLessThanOrEqualTo(String value) {
            addCriterion("order_status <=", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusLike(String value) {
            addCriterion("order_status like", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusNotLike(String value) {
            addCriterion("order_status not like", value, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusIn(List<String> values) {
            addCriterion("order_status in", values, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusNotIn(List<String> values) {
            addCriterion("order_status not in", values, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusBetween(String value1, String value2) {
            addCriterion("order_status between", value1, value2, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andOrderStatusNotBetween(String value1, String value2) {
            addCriterion("order_status not between", value1, value2, "orderStatus");
            return (Criteria) this;
        }

        public Criteria andFeedbackIsNull() {
            addCriterion("feedback is null");
            return (Criteria) this;
        }

        public Criteria andFeedbackIsNotNull() {
            addCriterion("feedback is not null");
            return (Criteria) this;
        }

        public Criteria andFeedbackEqualTo(String value) {
            addCriterion("feedback =", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackNotEqualTo(String value) {
            addCriterion("feedback <>", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackGreaterThan(String value) {
            addCriterion("feedback >", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackGreaterThanOrEqualTo(String value) {
            addCriterion("feedback >=", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackLessThan(String value) {
            addCriterion("feedback <", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackLessThanOrEqualTo(String value) {
            addCriterion("feedback <=", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackLike(String value) {
            addCriterion("feedback like", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackNotLike(String value) {
            addCriterion("feedback not like", value, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackIn(List<String> values) {
            addCriterion("feedback in", values, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackNotIn(List<String> values) {
            addCriterion("feedback not in", values, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackBetween(String value1, String value2) {
            addCriterion("feedback between", value1, value2, "feedback");
            return (Criteria) this;
        }

        public Criteria andFeedbackNotBetween(String value1, String value2) {
            addCriterion("feedback not between", value1, value2, "feedback");
            return (Criteria) this;
        }

        public Criteria andExtInfoIsNull() {
            addCriterion("ext_info is null");
            return (Criteria) this;
        }

        public Criteria andExtInfoIsNotNull() {
            addCriterion("ext_info is not null");
            return (Criteria) this;
        }

        public Criteria andExtInfoEqualTo(String value) {
            addCriterion("ext_info =", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotEqualTo(String value) {
            addCriterion("ext_info <>", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoGreaterThan(String value) {
            addCriterion("ext_info >", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoGreaterThanOrEqualTo(String value) {
            addCriterion("ext_info >=", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLessThan(String value) {
            addCriterion("ext_info <", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLessThanOrEqualTo(String value) {
            addCriterion("ext_info <=", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLike(String value) {
            addCriterion("ext_info like", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotLike(String value) {
            addCriterion("ext_info not like", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoIn(List<String> values) {
            addCriterion("ext_info in", values, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotIn(List<String> values) {
            addCriterion("ext_info not in", values, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoBetween(String value1, String value2) {
            addCriterion("ext_info between", value1, value2, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotBetween(String value1, String value2) {
            addCriterion("ext_info not between", value1, value2, "extInfo");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}